
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using AEL.ACT;
using AEL.BOD;
using BEL;
    
    namespace DEL.BOD
    {
    /// <summary>
    /// Acceso a la base de datos
    /// Modulo:Bodega tar
    /// Boton cerrar y abrir un periodo
    /// </summary>
    public class DO_Bod_Bodega_Subperiodo
    {
    #region Adapter
        private static CEL.BOD.DO_Bod_Bodega_Subperiodo _adpBod_Bodega_Subperiodo;
        private static CEL.BOD.DO_Bod_Bodega_Subperiodo adpBod_Bodega_Subperiodo
        {
            get
            {
                if (_adpBod_Bodega_Subperiodo == null)
                    _adpBod_Bodega_Subperiodo = new CEL.BOD.DO_Bod_Bodega_Subperiodo();
                return _adpBod_Bodega_Subperiodo;
            }
        }
    #endregion
    
    #region Operaciones con datos
    
    
    public static int Cerrar(Scope s, Bod_Bodega_Subperiodo oBod_Bodega)
    {
        int aux = 0;
        try
        {
            adpBod_Bodega_Subperiodo.Adapter.BeginTransaction();

            List<Bod_Bodega_Subperiodo> list_Bod_Bodega_Subperiodo =
                    adpBod_Bodega_Subperiodo.GetByBodega(s, oBod_Bodega.Bod_Bodega_Id);

            
            foreach (Bod_Bodega_Subperiodo vBod_Bodega_Subperiodo in list_Bod_Bodega_Subperiodo)
            {
                if( vBod_Bodega_Subperiodo.Cerrado == "N" && aux==0)
                {
                    vBod_Bodega_Subperiodo.Cerrado = "S";
                    aux = adpBod_Bodega_Subperiodo.Update(s,  vBod_Bodega_Subperiodo,oBod_Bodega); 
                    
                }
            }

            adpBod_Bodega_Subperiodo.Adapter.CommitTransaction();
        }
        catch (Exception e)
        {
            adpBod_Bodega_Subperiodo.Adapter.RollbackTransaction();
            throw (e);
        }
        return aux;
    }
        public static int Abrir(Scope s, Bod_Bodega_Subperiodo oBod_Bodega)
    {
        int aux = 0;
        try
        {
            adpBod_Bodega_Subperiodo.Adapter.BeginTransaction();

            List<Bod_Bodega_Subperiodo> list_Bod_Bodega_Subperiodo =
                    adpBod_Bodega_Subperiodo.GetByBodega(s, oBod_Bodega.Bod_Bodega_Id);


            foreach (Bod_Bodega_Subperiodo vBod_Bodega_Subperiodo in list_Bod_Bodega_Subperiodo)
            {
                if (vBod_Bodega_Subperiodo.Cerrado == "N" && aux == 0)
                {
                    vBod_Bodega_Subperiodo.Cerrado = "S";
                    aux = adpBod_Bodega_Subperiodo.Update(s, vBod_Bodega_Subperiodo, oBod_Bodega);

                }
            }

            adpBod_Bodega_Subperiodo.Adapter.CommitTransaction();
        }
        catch (Exception e)
        {
            adpBod_Bodega_Subperiodo.Adapter.RollbackTransaction();
            throw (e);
        }
        return aux; 
    }
    #endregion
    }
    }
